package org.jeecg.modules.scm.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "资金方项目关联关系实dto对象", description = "资金方项目关联关系实dto对象")
public class EditInvItemRsDto implements Serializable {
    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "Id")
    private java.lang.Integer id;

    /**
     * 资金方Id
     */
    @ApiModelProperty(value = "资金方Id")
    @TableId(type = IdType.AUTO)
    private java.lang.Integer investorId;
    /**
     * 项目ID
     */
    @ApiModelProperty(value = "项目ID")
    private java.lang.Integer itemId;
    /**
     * 客户号
     */
    @ApiModelProperty(value = "客户号")
    private java.lang.Integer cusNo;
    /**
     * 月规模限额
     */
    @ApiModelProperty(value = "月规模限额")
    private java.math.BigDecimal monthScaleLimit;
    /**
     * 单笔规模限额
     */
    @ApiModelProperty(value = "单笔规模限额")
    private java.math.BigDecimal singleScaleLimit;
    /**
     * 已使用规模
     */
    @ApiModelProperty(value = "	已使用规模")
    private java.math.BigDecimal usedScale;
    /**
     * 授信额度
     */
    @ApiModelProperty(value = "授信额度")
    private java.math.BigDecimal creditLine;
    /**
     * 已占用额度
     */
    @ApiModelProperty(value = "已占用额度")
    private java.math.BigDecimal occupiedQuota;
    /**
     * 预占用额度
     */
    @ApiModelProperty(value = "预占用额度")
    private java.math.BigDecimal preOccupiedQuota;
    /**
     * 可用额度
     */
    @ApiModelProperty(value = "可用额度")
    private java.math.BigDecimal availableCredit;
    /**
     * 授信开始日
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "授信开始日")
    private java.util.Date creditStartTime;
    /**
     * 授信到期日
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "授信到期日")
    private java.util.Date creditEndTime;
    /**
     * 单笔融资限额
     */
    @ApiModelProperty(value = "单笔融资限额")
    private java.math.BigDecimal singleFinLimit;
    /**
     * 单笔融资最小期限
     */

    @ApiModelProperty(value = "单笔融资最小期限")
    private String singleFinMinTime;
    /**
     * 单笔融资最大期限
     */

    @ApiModelProperty(value = "单笔融资最大期限")
    private String singleFinMaxTime;
    /**
     * 基准利率
     */
    @ApiModelProperty(value = "基准利率")
    private java.math.BigDecimal baseInterestRate;
    /**
     * 浮动点数
     */
    @ApiModelProperty(value = "浮动点数")
    private java.lang.Integer floatingPoint;
    /**
     * 逾期浮动点数
     */
    @ApiModelProperty(value = "逾期浮动点数")
    private java.math.BigDecimal overdueFloatingPoint;
    /**
     * 利率开始日
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "利率开始日")
    private java.util.Date rateStartTime;
    /**
     * 利率结束日
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "利率结束日")
    private java.util.Date rateEndTime;
    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private java.lang.Integer status;
    /**
     * 收款账号
     */
    @ApiModelProperty(value = "收款账号")
    private java.lang.String shroffAccountNumber;
    /**
     * 利息支付方式 1-客户、2-核心企业
     */
    @ApiModelProperty(value = "利息支付方式 1-客户、2-核心企业")
    private java.lang.Integer interestPayer;
    /**
     * 结息方式
     */
    @ApiModelProperty(value = "结息方式")
    private java.lang.Integer interestSettlementWay;
    /**
     * 结息日
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "结息日")
    private java.util.Date interestExpiryTime;
    /**
     * 核心企业还款账户
     */
    @ApiModelProperty(value = "核心企业还款账户")
    private java.lang.String ceRepaymentAccount;
    /**
     * 核心企业还款账户名称
     */
    @ApiModelProperty(value = "核心企业还款账户名称")
    private java.lang.String ceRepaymentAccountName;
    /**
     * 核心企业还款账户开户行
     */
    @ApiModelProperty(value = "核心企业还款账户开户行")
    private java.lang.String ceRepaymentAccountBank;
    /**
     * 融资率
     */
    @ApiModelProperty(value = "融资率")
    private java.math.BigDecimal financingRate;
    /**
     * 生效日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "生效日期")
    private java.util.Date effectiveDate;

    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
}
